Echo canceller employing dual-h architecture having split adaptive gain settings

ABSTRACT

An echo canceller circuit is set forth. The echo canceller circuit includes a digital filter having adaptive tap coefficients to simulate an echo response occurring during a call. The adaptive tap coefficients are updated during the call using a Mean Squares process. A tap energy detector is also employed. The tap energy detector identifies and divides groups of taps having high energy from groups of taps having low energy. The high energy tap groups are larger in number than the low energy tap groups. The high energy tap groups are adapted separately from the low energy tap groups using the Least Squares process. Still further, the high energy tap groups may be adapted using an adaptive gain constant a while the low energy tap groups are adapted using an adaptive gain constant a′, wherein a&gt;a′.

BACKGROUND OF THE INVENTION

[0001] Long distance telephone facilities usually comprise four-wiretransmission circuits between switching offices in different localexchange areas, and two-wire circuits within each area connectingindividual subscribers with the switching office. A call betweensubscribers in different exchange areas is carried over a two-wirecircuit in each of the areas and a four-wire circuit between the areas,with conversion of speech energy between the two and four-wire circuitsbeing effected by hybrid circuits. Ideally, the hybrid circuit inputports perfectly match the impedances of the two and four-wire circuits,and its balanced network impedance perfectly matches the impedance ofthe two-wire circuit. In this manner, the signals transmitted from oneexchange area to the other will not be reflected or returned to the onearea as echo. Unfortunately, due to impedance differences whichinherently exist between different two and four-wire circuits, andbecause impedances must be matched at each frequency in the voice band,it is virtually impossible for a given hybrid circuit to perfectly matchthe impedances of any particular two and four-wire transmission circuit.Echo is, therefore, characteristically part of a long distance telephonesystem.

[0002] Although undesirable, echo is tolerable in a telephone system solong as the time delay in the echo path is relatively short, forexample, shorter than about 40 milliseconds. However, longer echo delayscan be distracting or utterly confusing to a far end speaker, and toreduce the same to a tolerable level an echo canceller may be usedtoward each end of the path to cancel echo which otherwise would returnto the far end speaker. As is known, echo cancellers monitor the signalson the receive channel of a four-wire circuit and generate estimates ofthe actual echoes expected to return over the transmit channel. The echoestimates are then applied to a subtractor circuit in the transmitchannel to remove or at least reduce the actual echo.

[0003] In simplest form, generation of an echo estimate comprisesobtaining individual samples of the signal on the receive channel,convolving the samples with the impulse response of the system and thensubtracting, at the appropriate time, the resulting products or echoestimates from the actual echo on the transmit channel. In actualpractice generation of an echo estimate is not nearly sostraightforward.

[0004] Transmission circuits, except those which are purely resistive,exhibit an impulse response has amplitude and phase dispersivecharacteristics that are frequency dependent, since phase shift andamplitude attenuation vary with frequency. To this end, a suitable knowntechnique for generating an echo estimate contemplates manipulatingrepresentations of a plurality of samples of signals which cause theecho and samples of impulse responses of the system through aconvolution process to obtain an echo estimate which reasonablyrepresents the actual echo expected on the echo path. One such system isillustrated in FIG. 1.

[0005] In the system illustrated in FIG. 1, a far end signal x from aremote telephone system is received locally at line 10. As a result ofthe previously noted imperfections in the local system, a portion of thesignal x is echoed back to the remote site at line 15 along with thesignal v from the local telephone system. The echo response isillustrated here as a signal s corresponding to the following equation:

[0006] where h is the impulse response of the echo characteristics. Assuch, the signal sent from the near end to the far end, absent echocancellation, is the signal y, which is the sum of the telephone signalv and the echo signal s. This signal is illustrated as y at line 15 ofFIG. 1.

[0007] To reduce and/or eliminate the echo signal component s from thesignal y, the system of FIG. 1 uses an echo canceller having an impulseresponse filter {overscore (h)} that is the estimate of the impulse echoresponse h. As such, a further signal {overscore (s)} representing anestimate of echo signal s is generated by the echo canceller inaccordance with the following equation:

{overscore (s)}={overscore (h)}*x

[0008] The echo canceller subtracts the echo estimate signal S from thesignal y to generate a signal e at line 20 that is returned to the farend telephone system. The signal e thus corresponds to the followingequation:

e=s+v−{overscore (s)}≈v

[0009] As such, the signal returned to the far end station is dominatedby the signal v of the near end telephone system. As the echo impulseresponse {overscore (h)} more closely correlates to the actual echoresponse h, then {overscore (s)} more closely approximates s and thusthe magnitude of the echo signal component s on the signal e is moresubstantially reduced.

[0010] The echo impulse response model {overscore (h)} may be replacedby an adaptive digital filter having an impulse response {overscore(h)}. Generally, the tap coefficients for such an adaptive responsefilter are found using a technique known as Normalized Least MeanSquares adaptation.

[0011] Although such an adaptive echo canceller architecture providesthe echo canceller with the ability to readily adapt to changes in theecho path response h, it is highly susceptible to generating sub-optimalecho cancellation responses in the presence of “double talk” (acondition that occurs when both the speaker at the far end and thespeaker at the near end are speaking concurrently as determined from theviewpoint of the echo canceller).

[0012] To reduce this sensitivity to double-talk conditions, it has beensuggested to use both a non-adaptive response and an adaptive responsefilter in a single echo canceller. One such echo canceller is describedin U.S. Pat. No. 3,787,645, issued to Ochiai et al on Jan. 22, 1974.Such an echo canceller is now commonly referred to as a dual-H echocanceller.

[0013] Although the dual-H echo canceller architecture of the '645patent provides substantial improvements over the use of a single filterresponse architecture, the '645 patent is deficient in many respects andlacks certain teachings for optimizing the use of such a dual-Harchitecture in a practical echo canceller system. For example, thepresent inventors have recognize that the adaptation gain used to adaptthe tap coefficients of the adaptive filter may need to be altered basedon certain detected conditions. These conditions include conditions suchas double-talk, non-linear echo response paths, high background noiseconditions, etc.. The present inventors have recognized the problemsassociated with the foregoing dual-H architecture and have providedsolutions to such conditions.

BRIEF SUMMARY OF THE INVENTION

[0014] An echo canceller circuit is set forth. The echo cancellercircuit includes a digital filter having adaptive tap coefficients tosimulate an echo response occurring during a call. The adaptive tapcoefficients are updated during the call using a Mean Squares or atleast squares process. A tap energy detector is also employed. The tapenergy detector identifies and divides groups of taps having high energyfrom groups of taps having low energy. The high energy tap groups aregenerally smaller in number than the low energy tap groups. The highenergy tap groups are adapted separately from the low energy tap groupsusing the Mean Squares process. Still further, the high energy tapgroups may be adapted using an adaptive gain constant a while the lowenergy tap groups are adapted using an adaptive gain constant a′,wherein a>a′.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0015]FIG. 1 is a block diagram of a conventional canceller.

[0016]FIG. 2 is a schematic block diagram of an echo canceller thatoperates in accordance with one embodiment of the present invention.

[0017]FIG. 3 is a flow chart illustrating one manner of carrying outcoefficient transfers wherein the transfer conditions may be used toimplement double-talk detection in accordance with one embodiment of thepresent invention.

[0018]FIG. 4 is a flow chart illustrating a further manner of carryingout coefficient wherein the transfer conditions may be used to implementthe double-talk detection an accordance with one embodiment of thepresent invention.

[0019]FIG. 5 illustrates an exemplary solution surface for the adaptivefilter whereby the desired result is achieved at the solution matchingthe echo response of the channel.

[0020]FIG. 6 illustrates one manner of checking for various echocanceller conditions and responding to these conditions using a changein the adaptive gain setting of the adaptive filter of the echocanceller.

[0021]FIG. 7 illustrates a typical linear echo path response for the ĥfilter and one manner of identifying and separating one or more groupsof high energy taps from one or more groups of low energy taps forseparate adaptation.

[0022]FIG. 8 illustrates one manner of implementing an echo cancellersystem employing the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0023]FIG. 2 illustrates one embodiment of a dual-h echo cancellersuitable for use in implementing the present invention. As illustrated,the echo canceller, shown generally at 25, includes both a non-adaptivefilter {overscore (h)} and an adaptive filter ĥ to model the echoresponse h. Each of the filters {overscore (h)} and {overscore (h)} arepreferably implemented as digital filters, such as finite impulseresponse (FIR) filters comprising a plurality of taps each having acorresponding tap coefficient. This concept may be extended to IIRfilters as well. If FIR filters are used, the duration of each of theFIR filters should be sufficient to cover the duration of the echoresponse of the channel in which the echo canceller 25 is disposed.

[0024] The output of the non-adaptive filter {overscore (h)} isavailable at the line 30 while the output of the adaptive filter ĥ isavailable at line 35. Each of the signals at lines 30 and 35 aresubtracted from the signal-plus-echo signal of line 40 to generate echocompensated signals at lines 50 and 55, respectively. A switch 45,preferably a software switch, may be used to selectively provide eitherthe output signal at the line 50 or the output signal at line 55 to theecho canceller output at line 60. The switch 45 may be used to providethe echo compensation based on the ĥ filter during convergence and thenbe switched to provide the echo compensation based on the {overscore(h)} filter after convergence. Further, the switch 45 is directed toprovide the echo compensation based on the {overscore (h)} filter inresponse to the detection of a double-talk condition.

[0025] A transfer controller 65 is used to transfer the tap coefficientsof filter {overscore (h)} to replace the tap coefficients of filter{overscore (h)}. As illustrated, the transfer controller 65 is connectedto receive a number of system input signals. Of particular import withrespect to the present invention, the transfer controller 65 receivesthe signal-plus-echo response y and each of the echo canceller signals{overscore (e)} and ê at lines 50 and 55, respectively. The transfercontroller 65 is preferably implemented in the software of one or moredigital signal processors used to implement the echo canceller 25.

[0026] As noted above, the art is substantially deficient of teachingswith respect to the manner in which and conditions under which atransfer of tap coefficients from ĥ to {overscore (h)} is to occur. Thepresent inventors have implemented a new process and, as such, a newecho canceller in which tap coefficient transfers are only made by thetransfer controller 65 when selected criterion are met. The resultingecho canceller 25 has substantial advantages with respect to reduceddouble-talk sensitivity and increased double-talk detection capability.Further, it ensures a monotonic improvement in the estimates {overscore(h)}.

[0027] The foregoing system uses a parameter known asecho-return-loss-enhancement (ERLE) to measure and keep track of systemperformance. Two ERLE parameter values are used in the determination asto whether the transfer controller 65 transfers the tap coefficientsfrom ĥ to {overscore (h)}. The first parameter, {overscore (E)}, isdefined in the following manner:$\overset{\_}{E} = \frac{y}{\overset{\_}{e}}$

[0028] Similarly, the parameter Ê is defined as follows:$\hat{E} = \frac{y}{\hat{e}}$

[0029] Each of the values Ê and {overscore (E)} may also be averagedover a predetermined number of samples to arrive at averaged Ê and{overscore (E)} values used in the system for the transferdeterminations.

[0030]FIG. 3 illustrates one manner of implementing the echo canceller25 using the parameters Ê and {overscore (E)} to control tapcoefficients transfers between filter ĥ to {overscore (h)}. Asillustrated, the echo canceller 25 provides a default {overscore (h)}set of coefficients at step 80 during the initial portions of the call.After the tap coefficients values for h have been set, a measure of{overscore (E)} is made at step 85 to measure the performance of the tapcoefficient values of filter {overscore (h)}.

[0031] After the initialization sequence of steps 80 and 85, orconcurrent therewith, the echo canceller 25 begins and continues toadapt the coefficients of ĥ to more adequately match the echo response hof the overall system. As noted in FIG. 3, this operation occurs at step90. Preferably, the adaptation is made using a Normalized Least MeanSquares method. although other adaptive methods may also be used (e.g.,LMS and RLS).

[0032] After a period of time has elapsed, preferably, a predeterminedminimum period of time, the echo canceller 25 makes a measure of Ê atstep 95. Preferably, this measurement is an averaged measurement. Atstep 100, the echo canceller 25 compares the value of Ê with the valueof {overscore (E)}. If the value of Ê is greater than the value of{overscore (E)}, the tap coefficients of filter ĥ are transferred toreplace the tap coefficients of filter {overscore (h)} at step 105. Ifthis criterion is not met, however, the echo canceller 25 will continueto adapt the coefficients of the adaptive filter ĥ at step 90,periodically measure the value of Ê at step 95, and make the comparisonof step 100 until the condition is met.

[0033] Although not illustrated, other transfer conditions may beimposed in addition to the foregoing. For example, the echo cancellermay impose a requirement that a far end signal exist before a transfermay occur. Additionally, transfers may be inhibited during a double-talkcondition. Further conditions may also be imposed based on systemrequirements.

[0034] If the echo canceller 25 finds that Ê is greater than {overscore(E)}, the above-noted transfer takes place. Additionally, the echocanceller 25 stores the value of Ê as a value E_(max). This operation isdepicted at step 110 of the FIG. 3. The value of E_(max) is thus themaximum value of ERLE that occurs over the duration of the call and atwhich a transfer has taken place. This further value is used thereafter,in addition to the Ê and {overscore (E)} comparison, to control whetherthe tap coefficients of ĥ are transferred by the transfer controller 65to replace the tap coefficients of {overscore (h)}. This further processis illustrated that steps 115, 120, and 125 of FIG. 3. In each instance,the tap coefficient transfer only occurs when both of the following twoconditions are met: 1) Ê is greater than the current {overscore (E)},and 2) Ê is greater than any previous value of {overscore (E)} usedduring the course of the call. (Ê is greater than E_(max)). Each timethat both criteria are met, the transfer controller 65 of echo canceller25 executes the tap coefficient transfer and replaces the previousE_(max) value with the current Ê value for future comparison.

[0035] Requiring that Ê be greater than any {overscore (E)} value usedover the course of the call before the coefficient transfer takes placehas two beneficial and desirable effects. First, each transfer is likelyto replace the prior tap coefficients of filter {overscore (h)} with abetter estimate of the echo path response. Second, this transferrequirement increases the double-talk protection of the echo cancellersystem. Although it is possible to have positive ERLE Ê duringdouble-talk, the probability that Ê is greater than E_(max) duringdouble-talk decreases as the value of E_(max) increases. Thus anundesirable coefficient transfer during double-talk becomes increasinglyunlikely as the value of E_(max) increases throughout the duration ofthe call.

[0036] The echo canceller 25 may impose both an upper boundary and alower boundary on the value of E_(max). For example, E_(max) may have alower bounded value of 6 dB and an upper bounded value of 24 dB. Thepurpose of the lower bound is to prevent normal transfers duringdouble-talk conditions. It has been shown in simulations using speechinputs that during double-talk, a value of greater than 6 dB ERLE was avery low probability event, thus making it an appropriate value for theinitial value of E_(max). The upper bound on E_(max) is used to preventa spuriously high measurement from setting E_(max) to a value at whichfurther transfers become impossible.

[0037] The value of E_(max) should be set to, for example, the lowerbound value at the beginning of each call. Failure to do so will preventtap coefficient transfers on a new call until the echo cancellationresponse of the echo canceller 25 on the new call surpasses the qualityof the response existing at the end of the prior call. However, thiscriterion may never be met during the subsequent call Thereby causingthe echo canceller 25 to operate using sub-optimal tap coefficientsvalues. Resetting the E_(max) value to a lower value increases thelikelihood that a tap coefficient transfer will take place and, thereby,assists in ensuring that the {overscore (h)} filter uses tapcoefficients for echo cancellation that more closely correspond to theecho path response of the new call.

[0038] One manner of implementing the E_(max) value change isillustrated in the echo canceller operations flow-chart of FIG. 4. Whenall transfer conditions are met except Ê greater than E_(max), and thiscondition persists for a predetermined duration of time, the echocanceller 25 will reset the E_(max) value to, for example, the lowerbound value. In the exemplary operations shown in FIG. 4, the echocanceller 25 determines whether Ê is greater than the lower bound ofE_(max) at step 140 and less than the current value of E_(max) at step145. If both of these condition remain true for a predetermined periodof time as determined at step 150, and all other transfer criterion havebeen met, the echo canceller 25 resets the E_(max) value to a lowervalue, for example, the lower bound of the E_(max) value, at step 155.This lowering of the E_(max) value increases the likelihood of asubsequent tap coefficient transfer.

[0039] Choosing values for the lower and upper bound of E_(max) otherthan 6 dB and 24 dB, respectively, is also possible in the presentsystem. Choosing a lower bound of E_(max) smaller than 6 dB provides fora relatively prompt tap coefficient transfer after a reset operation ora new call, but sacrifices some double-talk protection. A value greaterthan 6 dB, however, inhibits tap coefficient transfer for a longerperiod of time, but increases the double-talk immunity of the echocanceller. Similarly, varying the value of the predetermined wait time Tbefore which E_(max) is reset may also be used to adjust echo cancellerperformance. A shorter predetermined wait time T produces fasterreconvergence transfers, but may sacrifice some double-talk immunity.The opposite is true for larger predetermined wait time values.

[0040] A further modification of the foregoing echo canceller systemrelates to the value stored as E_(max) at the instant of tap coefficienttransfer. Instead of setting E_(max) equal to the Ê value at thetransfer instant, E_(max) may be set to a value equal to the value of Êminus a constant value (e.g., one, three, or 6 dB). At no time, however,should the E_(max) value be set to a value that is below the lower boundvalue for E_(max). Additionally, a further condition may be imposed inthat a new softened E_(max) is not less than the prior value of E_(max).The foregoing “softening” of the E_(max) value increases the number oftransfers that occur and, further, provides more decision-making weightto the condition of Ê being larger than {overscore (E)}. Further detailswith respect to the operation of the echo canceller coefficient transferprocess are set forth in the co-pending patent application titled “ECHOCANCELLER HAVING THE IMPROVED TAP COEFFICIENT TRANSFER”, (AttorneyDocket No. ______) filed on even date herewith.

[0041] Preferably, the adaptive filter ĥ uses a Normalized Least MeanSquare (NLMS) adaptation process to update its tap coefficients. Inaccordance with the process, coefficients are adapted at each time n foreach tap m=0, 1, . . . , N−1 in accordance with the following equation:${{\hat{h}}_{n + 1}(m)} = {{{\hat{h}}_{n}(m)} + {\frac{a_{n}}{\sum\limits_{i = 0}^{N - 1}x_{i}^{2}}e_{n}x_{n - m}}}$for  m = 0, 1, …  , N − 1

[0042] where ĥ_(n) (m) is the m^(th) tap of the echo canceller, x_(n) isthe far-end signal at time n, e_(n) is the adaptation error of time n,and a_(n) is the adaptation gain at time n.

[0043] It is also possible to use the NLMS adaptive process can to adaptcoefficients a D.C. tap, h_(dc). If so desired, the above equation inmay be modified to the following:${{\hat{h}}_{n + 1}(m)} = {{{\hat{h}}_{n}(m)} + {\frac{a_{n}}{{\sum\limits_{i = 0}^{N - 1}x_{i}^{2}} + x_{dc}^{2}}e_{n}x_{n - m}}}$for  m = 0, 1, …  , N − 1

[0044] Additionally, the D.C. tap may be adapted in accordance with thefollowing equation:${{{\hat{h}}_{dc}}_{n + 1}(m)} = {{{\hat{h}}_{{dc}_{n}}(m)} + {\frac{a_{n}}{{\sum\limits_{i = 0}^{N - 1}x_{i}^{2}} + x_{dc}^{2}}e_{n}x_{dc}}}$for  m = 0, 1, …  , N − 1

[0045] where x_(dc) is a constant.

[0046] The foregoing adaptation process will converge in the mean-squaresense to the correct solution the echo path response h if 0<a_(n)<2.Fastest convergence occurs when a=1. However, for 0<a≦1, the speed ofconvergence to h is traded-off against steady-state performance.

[0047]FIG. 5 is provided to conceptualize the effect of the adaptationgain on the filter response. The graph of FIG. 5 includes an errorperformance surface 185 defined to be the mean square error between ĥand h, to be a N+1 dimensional bowl. In the present case, N=2. Each(x,y) point in the bowl is connected to a value z which corresponds tothe mean-square error for each corresponding (x,y) value ĥ (of lengthN). The bottom of the bowl is the ĥ which produces the least mean-squareerror, i.e. h. The NLMS process iteratively moves the ĥ towards h at thebottom of the performance surface as shown by arrow 190. When a=1, ĥmoves to the bottom of the bowl most quickly, but once the bottom isreached, the adaptation process continues to bounce ĥ around the true hbottom of the bowl, i.e. E[ĥ]=h but ĥ≢h. If a small a is used, then thesteady-state error is smaller (h will remain closer to h), but ĥrequires a longer time to descend to the bottom of the bowl, as eachstep is smaller.

[0048] In some cases, as the present inventors have recognized, theperformance surface will temporarily change. In such situations, itbecomes desirable to suppress the ĥ from following these changes. Thispresents a challenge to choose the best a for each scenario.

[0049]FIG. 6 illustrates operation of the echo canceller 25 in responseto various detected scenarios. It will be recognized that the sequenceof detecting the various conditions that is set forth in FIG. 6 ismerely illustrative and may be significantly varied. Further, it will berecognized that the detection and response to each scenario may beperformed concurrently with other echo canceller processes. Stillfurther, it will be recognized that certain detected scenarios and theircorresponding responses may be omitted.

[0050] In the embodiment of FIG. 6, the echo canceller 25 entertainswhether or not a double-talk condition exists at step 200. Double talk,as noted above, is defined as the situation when both far-end andnear-end talkers speak at the same time during a call. In such ascenario, the adaptive error signal is so severely corrupted by thenear-end speaker that it is rendered useless. As such, if a double-talkcondition is detected, the echo canceller 25 responds by freezing theadaptation process at step 205, i.e., set a=0, until the double talkceases. There are several methods that the echo canceller 25 can use fordetecting a double-talk condition. One is to compare the power of thenear-end signal to the far-end signal. If the near-end power comes closeenough to the far-end power (“close enough” can be determined by thesystem designer, e.g. within 0 or 6 or 10 dB), then double talk can bedeclared. Another method is to compare the point-by-point magnitudes ofthe near-end and far-end signals. This search can compare the current|x| with the current |y|, the current |x| with the last several |y|, thecurrent |y| with the last several |x|, etc. In each case, the max |x|and |y| over the searched regions are compared. If$\frac{\max {y}}{\max {x}} > {{Double}\quad {Talk}\quad {Threshold}}$

[0051] where max |x| indicates the maximum |x| over the search region(|y| is similarly defined), then a double-talk condition is declared.

[0052] A still further manner of detecting a double-talk condition isset forth in U.S. Ser. No. ______, titled ______ (Attorney Docket No.______), the teachings of which are hereby incorporated by reference. Asset forth in that patent application, a double-talk condition isdeclared based on certain monitored filter performance parameters.

[0053] It may be possible to further condition the double-talkdeclaration with other measurements. For example, the current EchoReturn Loss (ERL) may be used to set the Double Talk Threshold notedabove herein. The short-term power of either the far-end, the near-end,or both, may also be monitored to ensure that they are larger than someabsolute threshold (e.g. −50 dBm or −40 dBm). In this manner, adouble-talk condition is not needlessly declared when neither end isspeaking.

[0054] Once a double-talk condition is declared, it may be desirable tomaintain the double-talk declaration for a set period time after thedouble talk condition is met. Examples might be 32, 64, or 96 msec.After the double-talk condition ceases to exist, the adaptive gain valuemay be returned to the value that existed prior to the detection of thedouble-talk condition, or to a predetermined return value.

[0055] At step 210, the echo canceller 25 determines whether a highbackground noise condition is present. A low level of constantbackground noise can enter from the near-end, for example, if thenear-end caller is in an automobile or an airport. Its effects are insome ways similar to that of double-talk, as the near-end double-talkcorrupts the adaptive error signal. The difference is that, unlikedouble talk, near-end background noise is frequently constant, thussetting a=0 until the noise ends is not particularly advantageous. Alsobackground noise is usually of lower power than double-talk. As such, itcorrupts the adaptation process but does not render the resultingadapted coefficients unusable.

[0056] As illustrated at step 215, it is desirable to choose a gain0<a<1, i.e. lower the gain from its fastest value Qf 1 when a highbackground noise condition is present. While this will slow theadaptation time, the steady state performance increases since theeffects of noise-induced perturbations will be reduced. In other words,the tap variance noise is reduced by lowering the adaptation gain a.

[0057] Preferably, the background noise is measured as a long-termmeasurement of the power of when the far-end is silent. As thismeasurement increases, a decreases. One schedule for setting theadaptive gain a as a function of background noise level is set forthbelow. Background Noise (dBm) a > −48 .125 > −54 ≧ −48 .25 > −60 ≧ −54.5 < −60 1

[0058] It will be readily recognized that there are other schedules thatwould work as well, the foregoing schedule being illustrative.

[0059] A further condition in which the adaptive gain may be alteredfrom an otherwise usual gain value occurs when the adaptive filter ĥ isconfronted with a far-end signal that is narrow band, i.e. comprised ofa few sinusoids. In such a scenario, there are an infinite number ofequally optimal solutions that the LMS adaptation scheme can find. Thusit is quite unlikely that the resulting cancellation solution ĥ willproperly identify (i.e. mirror) the channel echo response h. Such asituation is referred to as under-exciting the channel, in that thesignal only provides information about the channel response at a fewfrequencies. The echo canceller 25 attempts to determine the existenceof this condition at step 220.

[0060] Consider a situation where the far-end signal varies betweenperiods in which a narrow band signal is transmitted and wide bandsignal is transmitted. During the wide band signal periods, the ĥ filtershould adapt to reflect the impulse response of the channel. However,when the narrow band signal transmission period begins, the ĥ filter mayreadapt to focus on canceling the echo path distortion only at thefrequencies present in the narrow band signal. Optimizing a solution atjust a few frequencies is likely to give a different solution than wasfound during transmission of the wide band signal. As a result, anyworthwhile adaptation channel information gained during wide bandtransmission periods is lost and the ĥ filter requires another period ofadaptation once the wide band signal returns.

[0061] When the far-end signal is narrow band, the adaptation can andshould be slowed considerably, which should discourage the tendency ofthe coefficients to diverge. Specifically, when a narrow band signal isdetected, a may be upper-bounded by either 0.25 or 0.125. This operationis illustrated at step 225. Narrow band signal detection may beimplemented using a low order predictive filter (e.g., a fourth orderpredictive filter). Preferably, this filter is implemented in softwareexecuted by one or more digital signal processors used in the echocanceller system 25. If it is able to achieve a prediction gain of atleast 3 to 6 dB (user defined), then it is assumed that the receivedsignal is a narrow band signal.

[0062] An amplitude threshold for the far-end signal is also preferablyemployed in determining the existence of a narrow band signal. If thefar-end power is greater than −40 dBm, the current far-end sample issent to the low order predictive filter, which determines whether or notthe far-end signal is narrow band. If the far-end power is less than −40dBm, the predictive filter is re-initialized to zero.

[0063] A further scenario in which it is desirable to alter the gain ofthe adaptive filter ĥ is when the echo path response is non-linear. Thepresence of non-linearities in the echo path encourages constant minorchanges in the coefficients h in order to find short-term optimalcancellation solutions. The detection of non-linearity of the echo pathresponse preferably proceeds in the manner set forth in U.S. Ser. No.______, titled ______, filed on even date herewith. The presence of anon-linear echo path is determined that step 230.

[0064] In a non-linear echo path scenario, it is desirable to choose theadaptive gain constant a large enough that ĥ can track these short-termbest solutions. However, choosing a=1 may be suboptimal in mostnon-linear scenarios. This is due to the fact that the gain is too largeand, thus, short-term solutions are “overshot” by the aggressiveadaptation effort. Accordingly, as shown at step 235, choosing a gainlower than 1 is preferable. Choosing a=0.25 was found to be the besttrade off between tracking and overshooting short term optimalsolutions. The gain constant a may be further reduced if largebackground noise is measured, as discussed above.

[0065] A still further scenario in which the adaptive gain may be variedrelates to the convergence period of the adaptive filter ĥ. As notedabove, a large gain constant a is desired during convergence periodswhile a smaller a is desired in steady state conditions after the filterhas converged. In other words, there seems little lost and perhaps somepotential gain to reduce a after an initial period of convergence iscompleted. This appears to be especially valuable if the long-termperformance is found to be substandard.

[0066] In view of the foregoing, the echo canceller 25 may implement areduced gain mode in which an upper bound for the gain constant a is setat a lower value than 1 (e.g., at either 0.25 or 0.125). This mode isdetected at step 240 and is entered at step 245 if the ERLE remainsbelow a predetermined threshold value (e.g., either 6 dB or 3 dB) aftera predetermined period of adaptation. The adaptation time is preferablyselected as a value between 100 to 300 msec. This amount of time willgenerally prevent the echo canceller 25 from entering the reduced gainmode during convergence periods. The reduced gain mode may optionally beexited if the study state ERLE increases above a certain threshold.

[0067] If the echo canceller does not enter the reduced gain mode atstep 240, the gain constant a is preferably set or reset to apredetermined value. This operation is illustrated that step 250, wherethe gain constant a=1.

[0068] As discussed above, certain conditions can result in a loweringof the value of Emax. This is described in connection with FIG. 4 above.Such an operation effectively results in a “soft reset” of the transferoperations. When this occurs, it may be desirable to clear all or someof the modes defined above and set the gain a to an initial value, forexample, 1. These operations are illustrated at steps 300 and 305.

[0069] Separate and apart from the foregoing adjustments of the gainconstant a, the present inventors have recognized that it may beadvantageous to adapt a subset of the coefficients of the ĥ filter witha higher gain and the remaining coefficients with a smaller gain. Tounderstand the motivations for doing this, consider a scenario in whichthe echo canceller 25 must converge to a linear echo-path. Since someflat-delay is to be expected, the span of time covered by thecoefficients of the ĥ filter should be larger than the expected durationof the echo-path response. As a result, several of the taps (and in manycases, the majority of the taps) of the ĥ filter will have an expectedvalue of zero to model the flat-delay while a small subset of“significant” taps will need to adjust very quickly in order to modelthe linear echo-path response.

[0070] In such a case, the convergence time is reduced when the“significant” taps are adapted separately from the smaller “flat-delay”taps. To see this, note from the Normalized LMS set forth above, thatthe adaptation gain increases as the number of coefficients increase. Ifthe significant taps are adapted separately, they will converge morequickly due to the fact that the adaptation process is directed to afewer number of taps. Further, adaptation noise from all the flat-delaytaps is minimized when they are adapted separately from the significanttaps using a smaller gain a′<a, where a′ is the gain for the flat delaytaps and a is the gain for the significant taps. Thus, splitting may behelpful in steady-state if there is significant background noise.

[0071]FIG. 7 illustrates an h filter tap energy distribution for atypical linear echo path. The echo canceller 25 divides the taps intowindow sections, each window section preferably having the same numberof taps. The echo canceller 25 then proceeds to determine which of thewindows has the largest amount of energy disposed therein. The windowshaving the largest amount of energy are tagged as being more significantthan other windows. The adaptive coefficients of the relatively fewtagged windows are adapted separate from adaptive coefficients of thelarger number of low energy, non-tagged windows. This naturally resultsin faster convergence of the coefficients of the tagged windows comparedto convergence of the coefficients of the tagged windows in a non-splitscenario. Still further, the adaptive coefficients of the tagged windowsmay be adapted using a higher gain constant a than the gain constant a′used to adapt the lower energy windows.

[0072] In accordance with a more specific embodiment of the splitadaptation process, the echo processor 25 tags W sections of 8contiguous taps each, where W is the number in msec of the echoresponse, not including flat-delay. Once chosen, these W*8 taps, oralternately W sections, are collectively called the in-window taps. Tapsare considered for tagging as windowed-taps in contiguous blocks of 8taps, representing 1 msec.

[0073] The W*8 taps are approximately the W sections which have thegreatest energy. The tags are placed on the windows iteratively, thatis, once one section is tagged, a new search is conducted to find thenext tagged section. As an extension to the above, in order to encouragethat these W tags will lump together into not more than a few largersections, which is in often desired, two steps are taken. First, asection which immediately follows a tagged section is biased in thelarge-energy search by an additive or multiplicative constant, thusmaking it more likely to be chosen. Second, when a section is tagged dueto the above search, one, two or more adjacent untagged sections arealso tagged.

[0074] There are some scenarios in which it is undesirable to assumethat some taps are more significant than others. Two examples arenon-linear echo path scenarios, and narrow bandwidth scenarios ( e.g.,data calls having narrow bandwidths of the signaling frequencies).

[0075] Echo cancellation on non-linear paths is accomplished by findingshort-term minimizations of the time-varying performance surface. Echocancellers for narrow bandwidth data calls need not properly identifythe echo impulse response in order to be effective. In these two cases,no subset of the taps should be assumed more or less significant, andthus splitting gives non-optimal results. Thus splitting should besuppressed for non-linear calls and data calls.

[0076] As will be readily recognized, the echo canceller of the presentinvention may be implemented in a wide range of manners. Preferably, theecho canceller system is implemented using one or more digital signalprocessors to carry out the filter and transfer operations.Digital-to-analog conversions of various signals are carried out inaccordance with known techniques for use by the digital signalprocessors.

[0077]FIG. 8 illustrates one embodiment of an echo canceller system,shown generally at 700, that maybe used to cancel echoes inmulti-channel communication transmissions. As illustrated, the system700 includes an input 705 that is connected to receive a multi-channelcommunications data, such as a T1 transmission. A central controller 710deinterleaves the various channels of the transmission and provides themto respective convolution processors 715 over a data bus 720. It iswithin the convolution processors 715 that a majority of the foregoingoperations take place. Each convolution processor 715 is designed toprocess at least one channel of the transmission at line730. After eachconvolution processor 715 has processed its respective channel(s), theresulting data is placed on the data bus 720. The central controller 710multiplexes the data into the proper multichannel format (e.g., T1) forretransmission at line 735. User interface 740 is provided to setvarious user programmable parameters of the system Numerousmodifications may be made to the foregoing system without departing fromthe basic teachings thereof. Although the present invention has beendescribed in substantial detail with reference to one or more specificembodiments, those of skill in the art will recognize that changes maybe made thereto without departing from the scope and spirit of theinvention as set forth in the appended claims.

1. An echo canceller circuit comprising: a digital filter havingadaptive tap coefficients to simulate an echo response occurring duringthe call, the adaptive tap coefficients being updated during the callusing a Least Squares process; and a tap energy detector for identifyingand dividing groups of taps having high energy from groups of tapshaving low energy, the high energy tap groups being larger in number inthe low energy tap groups, the high energy tap groups being adaptedseparately from the low energy tap groups using the Least Squaresprocess.
 2. An echo canceller circuit as claimed in claim 1 wherein thetap energy detector divides the adaptive tap coefficients into aplurality of windows and groups windows having high energy to form thehigh energy tap group.
 3. An echo canceller circuit as claimed in claim1 wherein the Mean Squares process is a Least Means Squares process. 4.An echo canceller circuit as claimed in claim 1 wherein the high energytap groups are adapted using a first gain coefficient a and the lowenergy tap groups are adapted using a second game coefficient a′,wherein a>a′.
 5. An echo canceller comprising: at least one input forreceiving a far-end signal of a call; at least one input for receiving asignal-plus-echo signal of the call, the signal-plus-echo signal havinga signal component corresponding to an echo response of a transmissionmedium carrying the call; a first digital filter receiving the far-endsignal and having non-adaptive tap coefficients to simulate the echoresponse; a summer circuit for subtracting the filtered far-end outputsignal of the first digital filter from the signal-plus-echo signal togenerate an echo compensated signal for transmission to a far-end; asecond digital filter receiving the far-end signal and having adaptivetap coefficients to simulate the echo response, the adaptive tapcoefficients being updated during the call using a Least Squaresprocess; a coefficient transfer controller disposed to transfer theadaptive tap coefficients of the second digital filter to replace thetap coefficients of the first digital filter when a set of one or moreconditions are met; and a tap energy detector for identifying anddividing groups of taps having high energy from groups of taps havinglow energy, the high energy tap groups being larger in number than thelow energy tap groups, the high energy tap groups being adaptedseparately from the low energy tap groups using the Least Squaresprocess.
 6. An echo canceller circuit as claimed in claim 5 wherein thetap energy detector divides the adaptive tap coefficients into aplurality of windows and groups windows having high energy to form thehigh energy tap group.
 7. An echo canceller circuit as claimed in claim5 wherein the Mean Squares process is a Least Means Squares process. 8.An echo canceller circuit as claimed in claim 5 wherein the high energytap groups are adapted using a first gain coefficient a and the lowenergy tap groups are adapted using a second game coefficient a′,wherein a>a′.
 9. An echo canceller as claimed in claim 5 wherein thecoefficient transfer controller transfers the adaptive tap coefficientsof the second digital filter to replace the tap coefficients of thefirst digital filter when Ê is greater than {overscore (E)} and,concurrently, Ê is greater than E_(max), wherein {overscore (E)}corresponds to the ratio between a signal-plus-echo signal and a firstecho compensated signal using the first digital filter, Ê corresponds tothe ratio between a signal-plus-echo signal and a second echocompensated signal using second digital filter, and E_(max) correspondsto the largest Ê occurring over a call during which a transfer hasoccurred.
 10. An echo canceller circuit as claimed in claim 1 whereinseparate adaptation of the high energy taps from the low energy taps isinhibited in the presence of a non-linear echo path response.
 11. Anecho canceller circuit as claimed in claim 1 wherein separate adaptationof the high energy taps from the low energy taps is inhibited in thepresence of a narrow band, far end signal.
 12. An echo canceller asclaimed in claim 5 wherein separate adaptation of the high energy tapsfrom the low energy taps is inhibited in the presence of a non-linearecho path response.
 13. An echo canceller as claimed in claim 5 whereinseparate adaptation of the high energy taps from the low energy taps isinhibited in the presence of a narrow band, far end signal.